package com.example.xpvideo.entity.res;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author hjt
 * @create 2021-08-24 11:16
 * @describe：订单详情响应体
 */
@Data
public class OrderDetailsRes  {
    // 店铺名称
    private String name;
    // 店铺logo
    private String logo;

    private Integer id;
    /**
     * 订单编号
     */
    private String orderSn;
    /**
     * 订单类型;0-普通订单
     */
    private Byte orderType;
    /**
     * 订单来源;1-app 2-pc
     */
    private Byte orderSource;
    /**
     * 订单状态;0-待付款;1-待发货;2-待收货;3-已完成;4-已关闭
     */
    private Byte orderStatus;
    /**
     * 支付状态;0-待支付;1-已支付;2-已退款;3-拒绝退款
     */
    private Byte payStatus;
    /**
     * 配送方式：0-快递配送；
     */
    private Byte deliveryType;

    /**
     * 1-微信支付  2-支付宝支付 3-余额支付  4-线下支付
     */
    private Byte payWay;
    /**
     * 支付时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;
    /**
     * 收货人
     */
    private String consignee;

    /**
     * 省份
     */
    private Integer province;

    /**
     * 城市
     */
    private Integer city;

    /**
     * 县区 id
     */
    private Integer district;

    // 省市区
    private String provinces;
    /**
     * 地址
     */
    private String address;

    /**
     * 手机
     */
    private String mobile;

    /**
     * 订单商品总价
     */
    private BigDecimal goodsPrice;
    /**
     * 优惠金额
     */
    private BigDecimal discountAmount;

    /**
     * 订单总价
     */
    private BigDecimal totalAmount;

    /**
     * 订单商品数量
     */
    private Integer totalNum;
    /**
     * 运费
     */
    private BigDecimal shippingPrice;

    /**
     * 最后新发货时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date shippingTime;

    /**
     * 第三方平台交易流水号
     */
    private String transactionId;

    /**
     * 用户备注
     */
    private String userRemark;

    /**
     * 确认收货时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date confirmTakeTime;
    /**
     * 订单取消时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cancelTime;

    /**
     * 退款状态：0-未退款；1-部分退款；2-全部退款
     */
    private Byte refundStatus;

    /**
     * 结算金额
     */
    private Integer settleAmount;

    /**
     * 退款金额
     */
    private BigDecimal refundAmount;
    /**
     * 下单时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 订单备注
     */
    private String orderRemarks;

    /**
     * 标识子订单是否已评价
     0-所有子订单未评价
     1-部分子订单已评价
     2-所有子订单已评价
     */
    private Byte isComment;

    /**
     * 一级分润
     */
    private BigDecimal firstRatio;

    /**
     * 二级分润
     */
    private BigDecimal secondRatio;

    /**
     * 标识子订单是否是直接退款，0表示售后退款或者未退款，1表示直接退款
     */
    private Byte isCancel;
    // 商品
    private List<Map<String,Object>> goods;



}
